<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DM-CtrlH7-BF-DevProgram: C:/Users/ASUS/Desktop/dm-ctrlH7-balance-9025test/Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectlogo"><img alt="Logo" src="50x5.png"/></td>
  <td id="projectalign">
   <div id="projectname">DM-CtrlH7-BF-DevProgram<span id="projectnumber">&#160;beta 0.1</span>
   </div>
   <div id="projectbrief">C.ONE Studio Damiao Development Board Framework</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search',true);
  $(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(function(){initNavTree('stm32h7xx__hal__i2c_8h_source.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="headertitle"><div class="title">stm32h7xx_hal_i2c.h</div></div>
</div><!--header-->
<div class="contents">
<a href="stm32h7xx__hal__i2c_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="comment">/* Define to prevent recursive inclusion -------------------------------------*/</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#ifndef STM32H7xx_HAL_I2C_H</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#define STM32H7xx_HAL_I2C_H</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="comment">/* Includes ------------------------------------------------------------------*/</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &quot;<a class="code" href="stm32h7xx__hal__def_8h.html">stm32h7xx_hal_def.h</a>&quot;</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="comment">/* Exported types ------------------------------------------------------------*/</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span></div>
<div class="foldopen" id="foldopen00047" data-start="{" data-end="};">
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="struct_i2_c___init_type_def.html">   47</a></span><span class="keyword">typedef</span> <span class="keyword">struct</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>{</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="struct_i2_c___init_type_def.html#a85cf419fd97f82464a6e7396ac0ac1c4">   49</a></span>  uint32_t <a class="code hl_variable" href="struct_i2_c___init_type_def.html#a85cf419fd97f82464a6e7396ac0ac1c4">Timing</a>;              </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="struct_i2_c___init_type_def.html#abfb610317ea08e85c8feece82ccc9e16">   53</a></span>  uint32_t <a class="code hl_variable" href="struct_i2_c___init_type_def.html#abfb610317ea08e85c8feece82ccc9e16">OwnAddress1</a>;         </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="struct_i2_c___init_type_def.html#a5c39c41a5ee892c1bce69a579cc017ca">   56</a></span>  uint32_t <a class="code hl_variable" href="struct_i2_c___init_type_def.html#a5c39c41a5ee892c1bce69a579cc017ca">AddressingMode</a>;      </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="struct_i2_c___init_type_def.html#add6a6b87ee067d33c94c554288736d40">   59</a></span>  uint32_t <a class="code hl_variable" href="struct_i2_c___init_type_def.html#add6a6b87ee067d33c94c554288736d40">DualAddressMode</a>;     </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="struct_i2_c___init_type_def.html#a8165caf61b7b52f903edd7517ddaa06b">   62</a></span>  uint32_t <a class="code hl_variable" href="struct_i2_c___init_type_def.html#a8165caf61b7b52f903edd7517ddaa06b">OwnAddress2</a>;         </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="struct_i2_c___init_type_def.html#a2ac60d8926224856693f49c068533ae1">   65</a></span>  uint32_t <a class="code hl_variable" href="struct_i2_c___init_type_def.html#a2ac60d8926224856693f49c068533ae1">OwnAddress2Masks</a>;    </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="struct_i2_c___init_type_def.html#a17ce92b135a4b5c045a5387c91677803">   69</a></span>  uint32_t <a class="code hl_variable" href="struct_i2_c___init_type_def.html#a17ce92b135a4b5c045a5387c91677803">GeneralCallMode</a>;     </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="struct_i2_c___init_type_def.html#a28afdce458703464638f1a01e04da04e">   72</a></span>  uint32_t <a class="code hl_variable" href="struct_i2_c___init_type_def.html#a28afdce458703464638f1a01e04da04e">NoStretchMode</a>;       </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span>} <a class="code hl_struct" href="struct_i2_c___init_type_def.html">I2C_InitTypeDef</a>;</div>
</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span></div>
<div class="foldopen" id="foldopen00108" data-start="{" data-end="};">
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="group___h_a_l__state__structure__definition.html#gaef355af8eab251ae2a19ee164ad81c37">  108</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>{</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a91ba08634e08d7287940f1bc5a37eeff">  110</a></span>  <a class="code hl_enumvalue" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a91ba08634e08d7287940f1bc5a37eeff">HAL_I2C_STATE_RESET</a>             = 0x00U,   </div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37af859ce60c5e462b0bfde3a5010bc72d1">  111</a></span>  <a class="code hl_enumvalue" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37af859ce60c5e462b0bfde3a5010bc72d1">HAL_I2C_STATE_READY</a>             = 0x20U,   </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a0c503d6c0388f0d872b368557e278b5a">  112</a></span>  <a class="code hl_enumvalue" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a0c503d6c0388f0d872b368557e278b5a">HAL_I2C_STATE_BUSY</a>              = 0x24U,   </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37acb3a9e3d4d1076e0f4e65f91ca0161bc">  113</a></span>  <a class="code hl_enumvalue" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37acb3a9e3d4d1076e0f4e65f91ca0161bc">HAL_I2C_STATE_BUSY_TX</a>           = 0x21U,   </div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"><a class="line" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a4ea4ecc2dc3cb64c4877c123d9d73170">  114</a></span>  <a class="code hl_enumvalue" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a4ea4ecc2dc3cb64c4877c123d9d73170">HAL_I2C_STATE_BUSY_RX</a>           = 0x22U,   </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a13518f06f54c7515100e86bb8d6e0779">  115</a></span>  <a class="code hl_enumvalue" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a13518f06f54c7515100e86bb8d6e0779">HAL_I2C_STATE_LISTEN</a>            = 0x28U,   </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a14d22553a60819b276582e08459f30b0">  116</a></span>  <a class="code hl_enumvalue" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a14d22553a60819b276582e08459f30b0">HAL_I2C_STATE_BUSY_TX_LISTEN</a>    = 0x29U,   </div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a8aec2547eedf1c9924f8efed33e3b5c5">  118</a></span>  <a class="code hl_enumvalue" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a8aec2547eedf1c9924f8efed33e3b5c5">HAL_I2C_STATE_BUSY_RX_LISTEN</a>    = 0x2AU,   </div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a2c6f6d1fef0847f9da51153b5c295249">  120</a></span>  <a class="code hl_enumvalue" href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a2c6f6d1fef0847f9da51153b5c295249">HAL_I2C_STATE_ABORT</a>             = 0x60U,   </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span> </div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>} <a class="code hl_enumeration" href="group___h_a_l__state__structure__definition.html#gaef355af8eab251ae2a19ee164ad81c37">HAL_I2C_StateTypeDef</a>;</div>
</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span></div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span></div>
<div class="foldopen" id="foldopen00146" data-start="{" data-end="};">
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="group___h_a_l__mode__structure__definition.html#gabcbb7b844f2ffd63c4e530c117882062">  146</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span>{</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="group___h_a_l__mode__structure__definition.html#ggabcbb7b844f2ffd63c4e530c117882062a98c8fd642b7ac45a23479bd597fc7a71">  148</a></span>  <a class="code hl_enumvalue" href="group___h_a_l__mode__structure__definition.html#ggabcbb7b844f2ffd63c4e530c117882062a98c8fd642b7ac45a23479bd597fc7a71">HAL_I2C_MODE_NONE</a>               = 0x00U,   </div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"><a class="line" href="group___h_a_l__mode__structure__definition.html#ggabcbb7b844f2ffd63c4e530c117882062a1eea98660a170dd7b191c9dfe46da6d2">  149</a></span>  <a class="code hl_enumvalue" href="group___h_a_l__mode__structure__definition.html#ggabcbb7b844f2ffd63c4e530c117882062a1eea98660a170dd7b191c9dfe46da6d2">HAL_I2C_MODE_MASTER</a>             = 0x10U,   </div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="group___h_a_l__mode__structure__definition.html#ggabcbb7b844f2ffd63c4e530c117882062a817358d19d278261f2047a5ec8ec6b53">  150</a></span>  <a class="code hl_enumvalue" href="group___h_a_l__mode__structure__definition.html#ggabcbb7b844f2ffd63c4e530c117882062a817358d19d278261f2047a5ec8ec6b53">HAL_I2C_MODE_SLAVE</a>              = 0x20U,   </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"><a class="line" href="group___h_a_l__mode__structure__definition.html#ggabcbb7b844f2ffd63c4e530c117882062a3f592bd942f973242aac6b7df79f3f1e">  151</a></span>  <a class="code hl_enumvalue" href="group___h_a_l__mode__structure__definition.html#ggabcbb7b844f2ffd63c4e530c117882062a3f592bd942f973242aac6b7df79f3f1e">HAL_I2C_MODE_MEM</a>                = 0x40U    </div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span>} <a class="code hl_enumeration" href="group___h_a_l__mode__structure__definition.html#gabcbb7b844f2ffd63c4e530c117882062">HAL_I2C_ModeTypeDef</a>;</div>
</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span></div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span></div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"><a class="line" href="group___i2_c___error___code__definition.html#ga0b8ca289091d942032c89484b6211d0d">  163</a></span><span class="preprocessor">#define HAL_I2C_ERROR_NONE      (0x00000000U)    </span><span class="preprocessor"></span></div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"><a class="line" href="group___i2_c___error___code__definition.html#gab9f6e39431ee764ada50fd63f0ad2fbf">  164</a></span><span class="preprocessor">#define HAL_I2C_ERROR_BERR      (0x00000001U)    </span><span class="preprocessor"></span></div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"><a class="line" href="group___i2_c___error___code__definition.html#ga048b36222884bfe80ce2d37fa868690b">  165</a></span><span class="preprocessor">#define HAL_I2C_ERROR_ARLO      (0x00000002U)    </span><span class="preprocessor"></span></div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"><a class="line" href="group___i2_c___error___code__definition.html#gad1cc236ad6ba5cafe66aecb0dbedc65a">  166</a></span><span class="preprocessor">#define HAL_I2C_ERROR_AF        (0x00000004U)    </span><span class="preprocessor"></span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="group___i2_c___error___code__definition.html#ga38d8f9beb4c681eba786f6154d4f594a">  167</a></span><span class="preprocessor">#define HAL_I2C_ERROR_OVR       (0x00000008U)    </span><span class="preprocessor"></span></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"><a class="line" href="group___i2_c___error___code__definition.html#gae1091e9e82dcfcfef247b214a11c9db3">  168</a></span><span class="preprocessor">#define HAL_I2C_ERROR_DMA       (0x00000010U)    </span><span class="preprocessor"></span></div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="group___i2_c___error___code__definition.html#gaeb3bedf36d78ddf3284a68494ab9d089">  169</a></span><span class="preprocessor">#define HAL_I2C_ERROR_TIMEOUT   (0x00000020U)    </span><span class="preprocessor"></span></div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"><a class="line" href="group___i2_c___error___code__definition.html#ga98027ff2d2fda2c793b07168ded747a4">  170</a></span><span class="preprocessor">#define HAL_I2C_ERROR_SIZE      (0x00000040U)    </span><span class="preprocessor"></span></div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"><a class="line" href="group___i2_c___error___code__definition.html#gacb922e1386469dce306f548cfd5c1277">  171</a></span><span class="preprocessor">#define HAL_I2C_ERROR_DMA_PARAM (0x00000080U)    </span><span class="preprocessor"></span></div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span><span class="preprocessor">#if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)</span></div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span><span class="preprocessor">#define HAL_I2C_ERROR_INVALID_CALLBACK  (0x00000100U)    </span><span class="preprocessor"></span></div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span><span class="preprocessor">#endif </span><span class="comment">/* USE_HAL_I2C_REGISTER_CALLBACKS */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"><a class="line" href="group___i2_c___error___code__definition.html#gac2d3acb9e918667866677dc6b3e92cd8">  175</a></span><span class="preprocessor">#define HAL_I2C_ERROR_INVALID_PARAM     (0x00000200U)    </span><span class="preprocessor"></span><span class="preprocessor"></span></div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span></div>
<div class="foldopen" id="foldopen00184" data-start="{" data-end="};">
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html">  184</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a></div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>{</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a080380e6051dd88c3a88c24aad4b10c0">  186</a></span>  <a class="code hl_struct" href="struct_i2_c___type_def.html">I2C_TypeDef</a>                *<a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a080380e6051dd88c3a88c24aad4b10c0">Instance</a>;      </div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span> </div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a8e665bc833889975a33b10bebeab5db2">  188</a></span>  <a class="code hl_struct" href="struct_i2_c___init_type_def.html">I2C_InitTypeDef</a>            <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a8e665bc833889975a33b10bebeab5db2">Init</a>;           </div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span> </div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#af699cc26b19f28b9215d3d4a167f068e">  190</a></span>  uint8_t                    *<a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#af699cc26b19f28b9215d3d4a167f068e">pBuffPtr</a>;      </div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span> </div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a1b8a62241b4c22d97af542186cef0c39">  192</a></span>  uint16_t                   <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a1b8a62241b4c22d97af542186cef0c39">XferSize</a>;       </div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span> </div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a314305a14bb912531cfc3c5f87291777">  194</a></span>  <a class="code hl_define" href="core__armv81mml_8h.html#aec43007d9998a0a0e01faede4133d6be">__IO</a> uint16_t              <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a314305a14bb912531cfc3c5f87291777">XferCount</a>;      </div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span> </div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a5d3ace2bbb83f44d4fe3df47fa42bb90">  196</a></span>  <a class="code hl_define" href="core__armv81mml_8h.html#aec43007d9998a0a0e01faede4133d6be">__IO</a> uint32_t              <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a5d3ace2bbb83f44d4fe3df47fa42bb90">XferOptions</a>;    </div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a028d3e824c01ccc6c9a23bb5802e3313">  199</a></span>  <a class="code hl_define" href="core__armv81mml_8h.html#aec43007d9998a0a0e01faede4133d6be">__IO</a> uint32_t              <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a028d3e824c01ccc6c9a23bb5802e3313">PreviousState</a>;  </div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span> </div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a27f4f768395d68659c29ba55727182a2">  201</a></span>  <a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a>(*<a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a27f4f768395d68659c29ba55727182a2">XferISR</a>)(<span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a> *hi2c, uint32_t ITFlags, uint32_t ITSources);</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span> </div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#ad8f3153daebc780294797b448decb190">  204</a></span>  <a class="code hl_typedef" href="group___d_m_a___exported___types.html#ga41b754a906b86bce54dc79938970138b">DMA_HandleTypeDef</a>          *<a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#ad8f3153daebc780294797b448decb190">hdmatx</a>;        </div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span> </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a52dcaac577eef13388d209f3f5a6a4b9">  206</a></span>  <a class="code hl_typedef" href="group___d_m_a___exported___types.html#ga41b754a906b86bce54dc79938970138b">DMA_HandleTypeDef</a>          *<a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a52dcaac577eef13388d209f3f5a6a4b9">hdmarx</a>;        </div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span> </div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span> </div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a96ba2c1a4eee1bbbe791b29e81c4c013">  209</a></span>  <a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#ab367482e943333a1299294eadaad284b">HAL_LockTypeDef</a>            <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a96ba2c1a4eee1bbbe791b29e81c4c013">Lock</a>;           </div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span> </div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a3421cd62d9e34c4a5ff1706916c8ae7a">  211</a></span>  <a class="code hl_define" href="core__armv81mml_8h.html#aec43007d9998a0a0e01faede4133d6be">__IO</a> <a class="code hl_enumeration" href="group___h_a_l__state__structure__definition.html#gaef355af8eab251ae2a19ee164ad81c37">HAL_I2C_StateTypeDef</a>  <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a3421cd62d9e34c4a5ff1706916c8ae7a">State</a>;          </div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span> </div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a9e1687f431eaba605b2ae49c1e3ff641">  213</a></span>  <a class="code hl_define" href="core__armv81mml_8h.html#aec43007d9998a0a0e01faede4133d6be">__IO</a> <a class="code hl_enumeration" href="group___h_a_l__mode__structure__definition.html#gabcbb7b844f2ffd63c4e530c117882062">HAL_I2C_ModeTypeDef</a>   <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a9e1687f431eaba605b2ae49c1e3ff641">Mode</a>;           </div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span> </div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a824099e364465827123cda831284f643">  215</a></span>  <a class="code hl_define" href="core__armv81mml_8h.html#aec43007d9998a0a0e01faede4133d6be">__IO</a> uint32_t              <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a824099e364465827123cda831284f643">ErrorCode</a>;      </div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span> </div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#ac46ddd083fcc3901fa63c96387243c25">  217</a></span>  <a class="code hl_define" href="core__armv81mml_8h.html#aec43007d9998a0a0e01faede4133d6be">__IO</a> uint32_t              <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#ac46ddd083fcc3901fa63c96387243c25">AddrEventCount</a>; </div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span> </div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a7517a9738c41067d8facfb4dea6f4ff3">  219</a></span>  <a class="code hl_define" href="core__armv81mml_8h.html#aec43007d9998a0a0e01faede4133d6be">__IO</a> uint32_t              <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a7517a9738c41067d8facfb4dea6f4ff3">Devaddress</a>;     </div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span> </div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"><a class="line" href="struct_____i2_c___handle_type_def.html#a4261371469c7df0bc57a71949a7e1f75">  221</a></span>  <a class="code hl_define" href="core__armv81mml_8h.html#aec43007d9998a0a0e01faede4133d6be">__IO</a> uint32_t              <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a4261371469c7df0bc57a71949a7e1f75">Memaddress</a>;     </div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span> </div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span><span class="preprocessor">#if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)</span></div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>  void (* MasterTxCpltCallback)(<span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a> *hi2c);</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>  void (* MasterRxCpltCallback)(<span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a> *hi2c);</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span>  void (* SlaveTxCpltCallback)(<span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a> *hi2c);</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>  void (* SlaveRxCpltCallback)(<span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a> *hi2c);</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span>  void (* ListenCpltCallback)(<span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a> *hi2c);</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>  void (* MemTxCpltCallback)(<span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a> *hi2c);</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>  void (* MemRxCpltCallback)(<span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a> *hi2c);</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span>  void (* ErrorCallback)(<span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a> *hi2c);</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span>  void (* AbortCpltCallback)(<span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a> *hi2c);</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span> </div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span>  void (* AddrCallback)(<span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a> *hi2c, uint8_t TransferDirection, uint16_t AddrMatchCode);</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span> </div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span>  void (* MspInitCallback)(<span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a> *hi2c);</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span>  void (* MspDeInitCallback)(<span class="keyword">struct </span><a class="code hl_struct" href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a> *hi2c);</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span> </div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span><span class="preprocessor">#endif  </span><span class="comment">/* USE_HAL_I2C_REGISTER_CALLBACKS */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>} I2C_HandleTypeDef;</div>
</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span> </div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span><span class="preprocessor">#if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span><span class="keyword">typedef</span> <span class="keyword">enum</span></div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span>{</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span>  HAL_I2C_MASTER_TX_COMPLETE_CB_ID      = 0x00U,    </div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span>  HAL_I2C_MASTER_RX_COMPLETE_CB_ID      = 0x01U,    </div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span>  HAL_I2C_SLAVE_TX_COMPLETE_CB_ID       = 0x02U,    </div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span>  HAL_I2C_SLAVE_RX_COMPLETE_CB_ID       = 0x03U,    </div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno">  264</span>  HAL_I2C_LISTEN_COMPLETE_CB_ID         = 0x04U,    </div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span>  HAL_I2C_MEM_TX_COMPLETE_CB_ID         = 0x05U,    </div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno">  266</span>  HAL_I2C_MEM_RX_COMPLETE_CB_ID         = 0x06U,    </div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span>  HAL_I2C_ERROR_CB_ID                   = 0x07U,    </div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span>  HAL_I2C_ABORT_CB_ID                   = 0x08U,    </div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span> </div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span>  HAL_I2C_MSPINIT_CB_ID                 = 0x09U,    </div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span>  HAL_I2C_MSPDEINIT_CB_ID               = 0x0AU     </div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span> </div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno">  273</span>} HAL_I2C_CallbackIDTypeDef;</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno">  274</span></div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span><span class="keyword">typedef</span>  void (*pI2C_CallbackTypeDef)(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span><span class="keyword">typedef</span>  void (*pI2C_AddrCallbackTypeDef)(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection,</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno">  281</span>                                          uint16_t AddrMatchCode);</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span> </div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span><span class="preprocessor">#endif </span><span class="comment">/* USE_HAL_I2C_REGISTER_CALLBACKS */</span><span class="preprocessor"></span><span class="preprocessor"></span></div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span></div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span><span class="comment">/* Exported constants --------------------------------------------------------*/</span></div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span></div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno">  297</span></div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span><span class="preprocessor">#define I2C_FIRST_FRAME                 ((uint32_t)I2C_SOFTEND_MODE)</span></div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span><span class="preprocessor">#define I2C_FIRST_AND_NEXT_FRAME        ((uint32_t)(I2C_RELOAD_MODE | I2C_SOFTEND_MODE))</span></div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span><span class="preprocessor">#define I2C_NEXT_FRAME                  ((uint32_t)(I2C_RELOAD_MODE | I2C_SOFTEND_MODE))</span></div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span><span class="preprocessor">#define I2C_FIRST_AND_LAST_FRAME        ((uint32_t)I2C_AUTOEND_MODE)</span></div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span><span class="preprocessor">#define I2C_LAST_FRAME                  ((uint32_t)I2C_AUTOEND_MODE)</span></div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno">  306</span><span class="preprocessor">#define I2C_LAST_FRAME_NO_STOP          ((uint32_t)I2C_SOFTEND_MODE)</span></div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno">  307</span> </div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno">  308</span><span class="comment">/* List of XferOptions in usage of :</span></div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno">  309</span><span class="comment"> * 1- Restart condition in all use cases (direction change or not)</span></div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno">  310</span><span class="comment"> */</span></div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno">  311</span><span class="preprocessor">#define  I2C_OTHER_FRAME                (0x000000AAU)</span></div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span><span class="preprocessor">#define  I2C_OTHER_AND_LAST_FRAME       (0x0000AA00U)</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span></div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span><span class="preprocessor">#define I2C_ADDRESSINGMODE_7BIT         (0x00000001U)</span></div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span><span class="preprocessor">#define I2C_ADDRESSINGMODE_10BIT        (0x00000002U)</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno">  325</span></div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno">  329</span><span class="preprocessor">#define I2C_DUALADDRESS_DISABLE         (0x00000000U)</span></div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno">  330</span><span class="preprocessor">#define I2C_DUALADDRESS_ENABLE          I2C_OAR2_OA2EN</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno">  334</span></div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno">  338</span><span class="preprocessor">#define I2C_OA2_NOMASK                  ((uint8_t)0x00U)</span></div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno">  339</span><span class="preprocessor">#define I2C_OA2_MASK01                  ((uint8_t)0x01U)</span></div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span><span class="preprocessor">#define I2C_OA2_MASK02                  ((uint8_t)0x02U)</span></div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno">  341</span><span class="preprocessor">#define I2C_OA2_MASK03                  ((uint8_t)0x03U)</span></div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</span><span class="preprocessor">#define I2C_OA2_MASK04                  ((uint8_t)0x04U)</span></div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span><span class="preprocessor">#define I2C_OA2_MASK05                  ((uint8_t)0x05U)</span></div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span><span class="preprocessor">#define I2C_OA2_MASK06                  ((uint8_t)0x06U)</span></div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span><span class="preprocessor">#define I2C_OA2_MASK07                  ((uint8_t)0x07U)</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno">  349</span></div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno">  353</span><span class="preprocessor">#define I2C_GENERALCALL_DISABLE         (0x00000000U)</span></div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span><span class="preprocessor">#define I2C_GENERALCALL_ENABLE          I2C_CR1_GCEN</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno">  358</span></div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno">  362</span><span class="preprocessor">#define I2C_NOSTRETCH_DISABLE           (0x00000000U)</span></div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno">  363</span><span class="preprocessor">#define I2C_NOSTRETCH_ENABLE            I2C_CR1_NOSTRETCH</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span></div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno">  371</span><span class="preprocessor">#define I2C_MEMADD_SIZE_8BIT            (0x00000001U)</span></div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno">  372</span><span class="preprocessor">#define I2C_MEMADD_SIZE_16BIT           (0x00000002U)</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno">  376</span></div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno">  380</span><span class="preprocessor">#define I2C_DIRECTION_TRANSMIT          (0x00000000U)</span></div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno">  381</span><span class="preprocessor">#define I2C_DIRECTION_RECEIVE           (0x00000001U)</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno">  385</span></div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span><span class="preprocessor">#define  I2C_RELOAD_MODE                I2C_CR2_RELOAD</span></div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span><span class="preprocessor">#define  I2C_AUTOEND_MODE               I2C_CR2_AUTOEND</span></div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno">  391</span><span class="preprocessor">#define  I2C_SOFTEND_MODE               (0x00000000U)</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno">  395</span></div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno">  399</span><span class="preprocessor">#define  I2C_NO_STARTSTOP               (0x00000000U)</span></div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span><span class="preprocessor">#define  I2C_GENERATE_STOP              (uint32_t)(0x80000000U | I2C_CR2_STOP)</span></div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span><span class="preprocessor">#define  I2C_GENERATE_START_READ        (uint32_t)(0x80000000U | I2C_CR2_START | I2C_CR2_RD_WRN)</span></div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno">  402</span><span class="preprocessor">#define  I2C_GENERATE_START_WRITE       (uint32_t)(0x80000000U | I2C_CR2_START)</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno">  406</span></div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno">  413</span><span class="preprocessor">#define I2C_IT_ERRI                     I2C_CR1_ERRIE</span></div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno">  414</span><span class="preprocessor">#define I2C_IT_TCI                      I2C_CR1_TCIE</span></div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno">  415</span><span class="preprocessor">#define I2C_IT_STOPI                    I2C_CR1_STOPIE</span></div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno">  416</span><span class="preprocessor">#define I2C_IT_NACKI                    I2C_CR1_NACKIE</span></div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno">  417</span><span class="preprocessor">#define I2C_IT_ADDRI                    I2C_CR1_ADDRIE</span></div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno">  418</span><span class="preprocessor">#define I2C_IT_RXI                      I2C_CR1_RXIE</span></div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno">  419</span><span class="preprocessor">#define I2C_IT_TXI                      I2C_CR1_TXIE</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno">  423</span></div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno">  427</span><span class="preprocessor">#define I2C_FLAG_TXE                    I2C_ISR_TXE</span></div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno">  428</span><span class="preprocessor">#define I2C_FLAG_TXIS                   I2C_ISR_TXIS</span></div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno">  429</span><span class="preprocessor">#define I2C_FLAG_RXNE                   I2C_ISR_RXNE</span></div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno">  430</span><span class="preprocessor">#define I2C_FLAG_ADDR                   I2C_ISR_ADDR</span></div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno">  431</span><span class="preprocessor">#define I2C_FLAG_AF                     I2C_ISR_NACKF</span></div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno">  432</span><span class="preprocessor">#define I2C_FLAG_STOPF                  I2C_ISR_STOPF</span></div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno">  433</span><span class="preprocessor">#define I2C_FLAG_TC                     I2C_ISR_TC</span></div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno">  434</span><span class="preprocessor">#define I2C_FLAG_TCR                    I2C_ISR_TCR</span></div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno">  435</span><span class="preprocessor">#define I2C_FLAG_BERR                   I2C_ISR_BERR</span></div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno">  436</span><span class="preprocessor">#define I2C_FLAG_ARLO                   I2C_ISR_ARLO</span></div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno">  437</span><span class="preprocessor">#define I2C_FLAG_OVR                    I2C_ISR_OVR</span></div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno">  438</span><span class="preprocessor">#define I2C_FLAG_PECERR                 I2C_ISR_PECERR</span></div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno">  439</span><span class="preprocessor">#define I2C_FLAG_TIMEOUT                I2C_ISR_TIMEOUT</span></div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno">  440</span><span class="preprocessor">#define I2C_FLAG_ALERT                  I2C_ISR_ALERT</span></div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno">  441</span><span class="preprocessor">#define I2C_FLAG_BUSY                   I2C_ISR_BUSY</span></div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno">  442</span><span class="preprocessor">#define I2C_FLAG_DIR                    I2C_ISR_DIR</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno">  446</span></div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno">  450</span> </div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno">  451</span><span class="comment">/* Exported macros -----------------------------------------------------------*/</span></div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno">  452</span></div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno">  456</span></div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno">  461</span><span class="preprocessor">#if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)</span></div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno">  462</span><span class="preprocessor">#define __HAL_I2C_RESET_HANDLE_STATE(__HANDLE__)                do{                                             \</span></div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  463</span><span class="preprocessor">                                                                    (__HANDLE__)-&gt;State = HAL_I2C_STATE_RESET;  \</span></div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno">  464</span><span class="preprocessor">                                                                    (__HANDLE__)-&gt;MspInitCallback = NULL;       \</span></div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno">  465</span><span class="preprocessor">                                                                    (__HANDLE__)-&gt;MspDeInitCallback = NULL;     \</span></div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno">  466</span><span class="preprocessor">                                                                  } while(0)</span></div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno">  467</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"><a class="line" href="group___i2_c___exported___macros.html#ga74c8fd72a78882720c28448ce8bd33d8">  468</a></span><span class="preprocessor">#define __HAL_I2C_RESET_HANDLE_STATE(__HANDLE__)                ((__HANDLE__)-&gt;State = HAL_I2C_STATE_RESET)</span></div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno">  469</span><span class="preprocessor">#endif </span><span class="comment">/* USE_HAL_I2C_REGISTER_CALLBACKS */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno">  470</span></div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"><a class="line" href="group___i2_c___exported___macros.html#gac9d8b249b06b2d30f987acc9ceebd1d9">  485</a></span><span class="preprocessor">#define __HAL_I2C_ENABLE_IT(__HANDLE__, __INTERRUPT__)          ((__HANDLE__)-&gt;Instance-&gt;CR1 |= (__INTERRUPT__))</span></div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno">  486</span></div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"><a class="line" href="group___i2_c___exported___macros.html#ga33d0c7202ae298fa3ae128c5da49d455">  501</a></span><span class="preprocessor">#define __HAL_I2C_DISABLE_IT(__HANDLE__, __INTERRUPT__)         ((__HANDLE__)-&gt;Instance-&gt;CR1 &amp;= (~(__INTERRUPT__)))</span></div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno">  502</span></div>
<div class="foldopen" id="foldopen00517" data-start="" data-end="">
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"><a class="line" href="group___i2_c___exported___macros.html#ga932024bf4a259e0cdaf9e50b38e3d41a">  517</a></span><span class="preprocessor">#define __HAL_I2C_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)      ((((__HANDLE__)-&gt;Instance-&gt;CR1 &amp; \</span></div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno">  518</span><span class="preprocessor">                                                                   (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)</span></div>
</div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno">  519</span></div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"><a class="line" href="group___i2_c___exported___macros.html#gafbc0a6e4113be03100fbae1314a8b395">  543</a></span><span class="preprocessor">#define I2C_FLAG_MASK  (0x0001FFFFU)</span></div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno">  544</span><span class="preprocessor">#define __HAL_I2C_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)-&gt;Instance-&gt;ISR) &amp; \</span></div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno">  545</span><span class="preprocessor">                                                    (__FLAG__)) == (__FLAG__)) ? SET : RESET)</span></div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno">  546</span></div>
<div class="foldopen" id="foldopen00564" data-start="" data-end="">
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"><a class="line" href="group___i2_c___exported___macros.html#ga933e2ea67e86db857a06b70a93be1186">  564</a></span><span class="preprocessor">#define __HAL_I2C_CLEAR_FLAG(__HANDLE__, __FLAG__) (((__FLAG__) == I2C_FLAG_TXE) ? \</span></div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno">  565</span><span class="preprocessor">                                                    ((__HANDLE__)-&gt;Instance-&gt;ISR |= (__FLAG__)) : \</span></div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno">  566</span><span class="preprocessor">                                                    ((__HANDLE__)-&gt;Instance-&gt;ICR = (__FLAG__)))</span></div>
</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno">  567</span></div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"><a class="line" href="group___i2_c___exported___macros.html#gacff412c47b0c1d63ef3b2a07f65988b7">  572</a></span><span class="preprocessor">#define __HAL_I2C_ENABLE(__HANDLE__)                         (SET_BIT((__HANDLE__)-&gt;Instance-&gt;CR1, I2C_CR1_PE))</span></div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno">  573</span></div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"><a class="line" href="group___i2_c___exported___macros.html#ga3d6a35da02ca72537a15570912c80412">  578</a></span><span class="preprocessor">#define __HAL_I2C_DISABLE(__HANDLE__)                        (CLEAR_BIT((__HANDLE__)-&gt;Instance-&gt;CR1, I2C_CR1_PE))</span></div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno">  579</span></div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"><a class="line" href="group___i2_c___exported___macros.html#ga11f1b2e130ffa7e62d82ff1ebdb3f4f4">  584</a></span><span class="preprocessor">#define __HAL_I2C_GENERATE_NACK(__HANDLE__)                  (SET_BIT((__HANDLE__)-&gt;Instance-&gt;CR2, I2C_CR2_NACK))</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno">  588</span> </div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno">  589</span><span class="comment">/* Include I2C HAL Extended module */</span></div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno">  590</span><span class="preprocessor">#include &quot;<a class="code" href="stm32h7xx__hal__i2c__ex_8h.html">stm32h7xx_hal_i2c_ex.h</a>&quot;</span></div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno">  591</span> </div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno">  592</span><span class="comment">/* Exported functions --------------------------------------------------------*/</span></div>
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno">  596</span></div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno">  600</span><span class="comment">/* Initialization and de-initialization functions******************************/</span></div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno">  601</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Init(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno">  602</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno">  603</span><span class="keywordtype">void</span> HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno">  604</span><span class="keywordtype">void</span> HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno">  605</span> </div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno">  606</span><span class="comment">/* Callbacks Register/UnRegister functions  ***********************************/</span></div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno">  607</span><span class="preprocessor">#if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)</span></div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno">  608</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef CallbackID,</div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno">  609</span>                                           pI2C_CallbackTypeDef pCallback);</div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno">  610</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef CallbackID);</div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno">  611</span> </div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno">  612</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pCallback);</div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno">  613</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno">  614</span><span class="preprocessor">#endif </span><span class="comment">/* USE_HAL_I2C_REGISTER_CALLBACKS */</span><span class="preprocessor"></span><span class="preprocessor"></span></div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno">  618</span></div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno">  622</span><span class="comment">/* IO operation functions  ****************************************************/</span></div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno">  623</span><span class="comment">/******* Blocking mode: Polling */</span></div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno">  624</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData,</div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno">  625</span>                                          uint16_t Size, uint32_t Timeout);</div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno">  626</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData,</div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno">  627</span>                                         uint16_t Size, uint32_t Timeout);</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno">  628</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,</div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno">  629</span>                                         uint32_t Timeout);</div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno">  630</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,</div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno">  631</span>                                        uint32_t Timeout);</div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno">  632</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress,</div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno">  633</span>                                    uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout);</div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno">  634</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress,</div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno">  635</span>                                   uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout);</div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno">  636</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Trials,</div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno">  637</span>                                        uint32_t Timeout);</div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno">  638</span> </div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno">  639</span><span class="comment">/******* Non-Blocking mode: Interrupt */</span></div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno">  640</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData,</div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno">  641</span>                                             uint16_t Size);</div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno">  642</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData,</div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno">  643</span>                                            uint16_t Size);</div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno">  644</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size);</div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno">  645</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size);</div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno">  646</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress,</div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno">  647</span>                                       uint16_t MemAddSize, uint8_t *pData, uint16_t Size);</div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno">  648</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress,</div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno">  649</span>                                      uint16_t MemAddSize, uint8_t *pData, uint16_t Size);</div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno">  650</span> </div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno">  651</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData,</div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno">  652</span>                                                 uint16_t Size, uint32_t <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a5d3ace2bbb83f44d4fe3df47fa42bb90">XferOptions</a>);</div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno">  653</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData,</div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno">  654</span>                                                uint16_t Size, uint32_t <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a5d3ace2bbb83f44d4fe3df47fa42bb90">XferOptions</a>);</div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno">  655</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,</div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno">  656</span>                                                uint32_t <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a5d3ace2bbb83f44d4fe3df47fa42bb90">XferOptions</a>);</div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno">  657</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,</div>
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno">  658</span>                                               uint32_t <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a5d3ace2bbb83f44d4fe3df47fa42bb90">XferOptions</a>);</div>
<div class="line"><a id="l00659" name="l00659"></a><span class="lineno">  659</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno">  660</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno">  661</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress);</div>
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno">  662</span> </div>
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno">  663</span><span class="comment">/******* Non-Blocking mode: DMA */</span></div>
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno">  664</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData,</div>
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno">  665</span>                                              uint16_t Size);</div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno">  666</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData,</div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno">  667</span>                                             uint16_t Size);</div>
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno">  668</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size);</div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno">  669</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size);</div>
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno">  670</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress,</div>
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno">  671</span>                                        uint16_t MemAddSize, uint8_t *pData, uint16_t Size);</div>
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno">  672</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress,</div>
<div class="line"><a id="l00673" name="l00673"></a><span class="lineno">  673</span>                                       uint16_t MemAddSize, uint8_t *pData, uint16_t Size);</div>
<div class="line"><a id="l00674" name="l00674"></a><span class="lineno">  674</span> </div>
<div class="line"><a id="l00675" name="l00675"></a><span class="lineno">  675</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData,</div>
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno">  676</span>                                                  uint16_t Size, uint32_t <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a5d3ace2bbb83f44d4fe3df47fa42bb90">XferOptions</a>);</div>
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno">  677</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData,</div>
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno">  678</span>                                                 uint16_t Size, uint32_t <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a5d3ace2bbb83f44d4fe3df47fa42bb90">XferOptions</a>);</div>
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno">  679</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,</div>
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno">  680</span>                                                 uint32_t <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a5d3ace2bbb83f44d4fe3df47fa42bb90">XferOptions</a>);</div>
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno">  681</span><a class="code hl_enumeration" href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a> HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size,</div>
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno">  682</span>                                                uint32_t <a class="code hl_variable" href="struct_____i2_c___handle_type_def.html#a5d3ace2bbb83f44d4fe3df47fa42bb90">XferOptions</a>);</div>
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno">  686</span></div>
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno">  690</span><span class="comment">/******* I2C IRQHandler and Callbacks used in non blocking modes (Interrupt and DMA) */</span></div>
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno">  691</span><span class="keywordtype">void</span> HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno">  692</span><span class="keywordtype">void</span> HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno">  693</span><span class="keywordtype">void</span> HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno">  694</span><span class="keywordtype">void</span> <a class="code hl_function" href="group___i2_c___i_r_q___handler__and___callbacks.html#ga5782358f977ddf450b203fc075833a1d">HAL_I2C_MasterRxCpltCallback</a>(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno">  695</span><span class="keywordtype">void</span> HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00696" name="l00696"></a><span class="lineno">  696</span><span class="keywordtype">void</span> HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00697" name="l00697"></a><span class="lineno">  697</span><span class="keywordtype">void</span> HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrMatchCode);</div>
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno">  698</span><span class="keywordtype">void</span> HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00699" name="l00699"></a><span class="lineno">  699</span><span class="keywordtype">void</span> HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno">  700</span><span class="keywordtype">void</span> <a class="code hl_function" href="group___i2_c___i_r_q___handler__and___callbacks.html#gac16a95413b35f05c5ce725fefd8531a5">HAL_I2C_MemRxCpltCallback</a>(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno">  701</span><span class="keywordtype">void</span> HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00702" name="l00702"></a><span class="lineno">  702</span><span class="keywordtype">void</span> HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00706" name="l00706"></a><span class="lineno">  706</span></div>
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno">  710</span><span class="comment">/* Peripheral State, Mode and Error functions  *********************************/</span></div>
<div class="line"><a id="l00711" name="l00711"></a><span class="lineno">  711</span><a class="code hl_enumeration" href="group___h_a_l__state__structure__definition.html#gaef355af8eab251ae2a19ee164ad81c37">HAL_I2C_StateTypeDef</a> HAL_I2C_GetState(<span class="keyword">const</span> I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00712" name="l00712"></a><span class="lineno">  712</span><a class="code hl_enumeration" href="group___h_a_l__mode__structure__definition.html#gabcbb7b844f2ffd63c4e530c117882062">HAL_I2C_ModeTypeDef</a>  HAL_I2C_GetMode(<span class="keyword">const</span> I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno">  713</span>uint32_t             HAL_I2C_GetError(<span class="keyword">const</span> I2C_HandleTypeDef *hi2c);</div>
<div class="line"><a id="l00714" name="l00714"></a><span class="lineno">  714</span></div>
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno">  718</span></div>
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno">  722</span> </div>
<div class="line"><a id="l00723" name="l00723"></a><span class="lineno">  723</span><span class="comment">/* Private constants ---------------------------------------------------------*/</span></div>
<div class="line"><a id="l00727" name="l00727"></a><span class="lineno">  727</span></div>
<div class="line"><a id="l00731" name="l00731"></a><span class="lineno">  731</span> </div>
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno">  732</span><span class="comment">/* Private macros ------------------------------------------------------------*/</span></div>
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno">  736</span> </div>
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno">  737</span><span class="preprocessor">#define IS_I2C_ADDRESSING_MODE(MODE)    (((MODE) == I2C_ADDRESSINGMODE_7BIT) || \</span></div>
<div class="line"><a id="l00738" name="l00738"></a><span class="lineno">  738</span><span class="preprocessor">                                         ((MODE) == I2C_ADDRESSINGMODE_10BIT))</span></div>
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno">  739</span> </div>
<div class="line"><a id="l00740" name="l00740"></a><span class="lineno">  740</span><span class="preprocessor">#define IS_I2C_DUAL_ADDRESS(ADDRESS)    (((ADDRESS) == I2C_DUALADDRESS_DISABLE) || \</span></div>
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno">  741</span><span class="preprocessor">                                         ((ADDRESS) == I2C_DUALADDRESS_ENABLE))</span></div>
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno">  742</span> </div>
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno">  743</span><span class="preprocessor">#define IS_I2C_OWN_ADDRESS2_MASK(MASK)  (((MASK) == I2C_OA2_NOMASK)  || \</span></div>
<div class="line"><a id="l00744" name="l00744"></a><span class="lineno">  744</span><span class="preprocessor">                                         ((MASK) == I2C_OA2_MASK01) || \</span></div>
<div class="line"><a id="l00745" name="l00745"></a><span class="lineno">  745</span><span class="preprocessor">                                         ((MASK) == I2C_OA2_MASK02) || \</span></div>
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno">  746</span><span class="preprocessor">                                         ((MASK) == I2C_OA2_MASK03) || \</span></div>
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno">  747</span><span class="preprocessor">                                         ((MASK) == I2C_OA2_MASK04) || \</span></div>
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno">  748</span><span class="preprocessor">                                         ((MASK) == I2C_OA2_MASK05) || \</span></div>
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno">  749</span><span class="preprocessor">                                         ((MASK) == I2C_OA2_MASK06) || \</span></div>
<div class="line"><a id="l00750" name="l00750"></a><span class="lineno">  750</span><span class="preprocessor">                                         ((MASK) == I2C_OA2_MASK07))</span></div>
<div class="line"><a id="l00751" name="l00751"></a><span class="lineno">  751</span> </div>
<div class="line"><a id="l00752" name="l00752"></a><span class="lineno">  752</span><span class="preprocessor">#define IS_I2C_GENERAL_CALL(CALL)       (((CALL) == I2C_GENERALCALL_DISABLE) || \</span></div>
<div class="line"><a id="l00753" name="l00753"></a><span class="lineno">  753</span><span class="preprocessor">                                         ((CALL) == I2C_GENERALCALL_ENABLE))</span></div>
<div class="line"><a id="l00754" name="l00754"></a><span class="lineno">  754</span> </div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno">  755</span><span class="preprocessor">#define IS_I2C_NO_STRETCH(STRETCH)      (((STRETCH) == I2C_NOSTRETCH_DISABLE) || \</span></div>
<div class="line"><a id="l00756" name="l00756"></a><span class="lineno">  756</span><span class="preprocessor">                                         ((STRETCH) == I2C_NOSTRETCH_ENABLE))</span></div>
<div class="line"><a id="l00757" name="l00757"></a><span class="lineno">  757</span> </div>
<div class="line"><a id="l00758" name="l00758"></a><span class="lineno">  758</span><span class="preprocessor">#define IS_I2C_MEMADD_SIZE(SIZE)        (((SIZE) == I2C_MEMADD_SIZE_8BIT) || \</span></div>
<div class="line"><a id="l00759" name="l00759"></a><span class="lineno">  759</span><span class="preprocessor">                                         ((SIZE) == I2C_MEMADD_SIZE_16BIT))</span></div>
<div class="line"><a id="l00760" name="l00760"></a><span class="lineno">  760</span> </div>
<div class="line"><a id="l00761" name="l00761"></a><span class="lineno">  761</span><span class="preprocessor">#define IS_TRANSFER_MODE(MODE)          (((MODE) == I2C_RELOAD_MODE)   || \</span></div>
<div class="line"><a id="l00762" name="l00762"></a><span class="lineno">  762</span><span class="preprocessor">                                         ((MODE) == I2C_AUTOEND_MODE) || \</span></div>
<div class="line"><a id="l00763" name="l00763"></a><span class="lineno">  763</span><span class="preprocessor">                                         ((MODE) == I2C_SOFTEND_MODE))</span></div>
<div class="line"><a id="l00764" name="l00764"></a><span class="lineno">  764</span> </div>
<div class="line"><a id="l00765" name="l00765"></a><span class="lineno">  765</span><span class="preprocessor">#define IS_TRANSFER_REQUEST(REQUEST)    (((REQUEST) == I2C_GENERATE_STOP)        || \</span></div>
<div class="line"><a id="l00766" name="l00766"></a><span class="lineno">  766</span><span class="preprocessor">                                         ((REQUEST) == I2C_GENERATE_START_READ)  || \</span></div>
<div class="line"><a id="l00767" name="l00767"></a><span class="lineno">  767</span><span class="preprocessor">                                         ((REQUEST) == I2C_GENERATE_START_WRITE) || \</span></div>
<div class="line"><a id="l00768" name="l00768"></a><span class="lineno">  768</span><span class="preprocessor">                                         ((REQUEST) == I2C_NO_STARTSTOP))</span></div>
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno">  769</span> </div>
<div class="line"><a id="l00770" name="l00770"></a><span class="lineno">  770</span><span class="preprocessor">#define IS_I2C_TRANSFER_OPTIONS_REQUEST(REQUEST)  (((REQUEST) == I2C_FIRST_FRAME)          || \</span></div>
<div class="line"><a id="l00771" name="l00771"></a><span class="lineno">  771</span><span class="preprocessor">                                                   ((REQUEST) == I2C_FIRST_AND_NEXT_FRAME) || \</span></div>
<div class="line"><a id="l00772" name="l00772"></a><span class="lineno">  772</span><span class="preprocessor">                                                   ((REQUEST) == I2C_NEXT_FRAME)           || \</span></div>
<div class="line"><a id="l00773" name="l00773"></a><span class="lineno">  773</span><span class="preprocessor">                                                   ((REQUEST) == I2C_FIRST_AND_LAST_FRAME) || \</span></div>
<div class="line"><a id="l00774" name="l00774"></a><span class="lineno">  774</span><span class="preprocessor">                                                   ((REQUEST) == I2C_LAST_FRAME)           || \</span></div>
<div class="line"><a id="l00775" name="l00775"></a><span class="lineno">  775</span><span class="preprocessor">                                                   ((REQUEST) == I2C_LAST_FRAME_NO_STOP)   || \</span></div>
<div class="line"><a id="l00776" name="l00776"></a><span class="lineno">  776</span><span class="preprocessor">                                                   IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(REQUEST))</span></div>
<div class="line"><a id="l00777" name="l00777"></a><span class="lineno">  777</span> </div>
<div class="line"><a id="l00778" name="l00778"></a><span class="lineno">  778</span><span class="preprocessor">#define IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(REQUEST) (((REQUEST) == I2C_OTHER_FRAME)     || \</span></div>
<div class="line"><a id="l00779" name="l00779"></a><span class="lineno">  779</span><span class="preprocessor">                                                        ((REQUEST) == I2C_OTHER_AND_LAST_FRAME))</span></div>
<div class="line"><a id="l00780" name="l00780"></a><span class="lineno">  780</span> </div>
<div class="line"><a id="l00781" name="l00781"></a><span class="lineno">  781</span><span class="preprocessor">#define I2C_RESET_CR2(__HANDLE__)                 ((__HANDLE__)-&gt;Instance-&gt;CR2 &amp;= \</span></div>
<div class="line"><a id="l00782" name="l00782"></a><span class="lineno">  782</span><span class="preprocessor">                                                   (uint32_t)~((uint32_t)(I2C_CR2_SADD   | I2C_CR2_HEAD10R | \</span></div>
<div class="line"><a id="l00783" name="l00783"></a><span class="lineno">  783</span><span class="preprocessor">                                                                          I2C_CR2_NBYTES | I2C_CR2_RELOAD  | \</span></div>
<div class="line"><a id="l00784" name="l00784"></a><span class="lineno">  784</span><span class="preprocessor">                                                                          I2C_CR2_RD_WRN)))</span></div>
<div class="line"><a id="l00785" name="l00785"></a><span class="lineno">  785</span> </div>
<div class="line"><a id="l00786" name="l00786"></a><span class="lineno">  786</span><span class="preprocessor">#define I2C_GET_ADDR_MATCH(__HANDLE__)            ((uint16_t)(((__HANDLE__)-&gt;Instance-&gt;ISR &amp; I2C_ISR_ADDCODE) \</span></div>
<div class="line"><a id="l00787" name="l00787"></a><span class="lineno">  787</span><span class="preprocessor">                                                              &gt;&gt; 16U))</span></div>
<div class="line"><a id="l00788" name="l00788"></a><span class="lineno">  788</span><span class="preprocessor">#define I2C_GET_DIR(__HANDLE__)                   ((uint8_t)(((__HANDLE__)-&gt;Instance-&gt;ISR &amp; I2C_ISR_DIR) \</span></div>
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno">  789</span><span class="preprocessor">                                                             &gt;&gt; 16U))</span></div>
<div class="line"><a id="l00790" name="l00790"></a><span class="lineno">  790</span><span class="preprocessor">#define I2C_GET_STOP_MODE(__HANDLE__)             ((__HANDLE__)-&gt;Instance-&gt;CR2 &amp; I2C_CR2_AUTOEND)</span></div>
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno">  791</span><span class="preprocessor">#define I2C_GET_OWN_ADDRESS1(__HANDLE__)          ((uint16_t)((__HANDLE__)-&gt;Instance-&gt;OAR1 &amp; I2C_OAR1_OA1))</span></div>
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno">  792</span><span class="preprocessor">#define I2C_GET_OWN_ADDRESS2(__HANDLE__)          ((uint16_t)((__HANDLE__)-&gt;Instance-&gt;OAR2 &amp; I2C_OAR2_OA2))</span></div>
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno">  793</span> </div>
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno">  794</span><span class="preprocessor">#define IS_I2C_OWN_ADDRESS1(ADDRESS1)             ((ADDRESS1) &lt;= 0x000003FFU)</span></div>
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno">  795</span><span class="preprocessor">#define IS_I2C_OWN_ADDRESS2(ADDRESS2)             ((ADDRESS2) &lt;= (uint16_t)0x00FFU)</span></div>
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno">  796</span> </div>
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno">  797</span><span class="preprocessor">#define I2C_MEM_ADD_MSB(__ADDRESS__)              ((uint8_t)((uint16_t)(((uint16_t)((__ADDRESS__) &amp; \</span></div>
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno">  798</span><span class="preprocessor">                                                                         (uint16_t)(0xFF00U))) &gt;&gt; 8U)))</span></div>
<div class="line"><a id="l00799" name="l00799"></a><span class="lineno">  799</span><span class="preprocessor">#define I2C_MEM_ADD_LSB(__ADDRESS__)              ((uint8_t)((uint16_t)((__ADDRESS__) &amp; (uint16_t)(0x00FFU))))</span></div>
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno">  800</span> </div>
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno">  801</span><span class="preprocessor">#define I2C_GENERATE_START(__ADDMODE__,__ADDRESS__) (((__ADDMODE__) == I2C_ADDRESSINGMODE_7BIT) ? \</span></div>
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno">  802</span><span class="preprocessor">                                                     (uint32_t)((((uint32_t)(__ADDRESS__) &amp; (I2C_CR2_SADD)) | \</span></div>
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno">  803</span><span class="preprocessor">                                                                 (I2C_CR2_START) | (I2C_CR2_AUTOEND)) &amp; \</span></div>
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno">  804</span><span class="preprocessor">                                                                (~I2C_CR2_RD_WRN)) : \</span></div>
<div class="line"><a id="l00805" name="l00805"></a><span class="lineno">  805</span><span class="preprocessor">                                                     (uint32_t)((((uint32_t)(__ADDRESS__) &amp; (I2C_CR2_SADD)) | \</span></div>
<div class="line"><a id="l00806" name="l00806"></a><span class="lineno">  806</span><span class="preprocessor">                                                                 (I2C_CR2_ADD10) | (I2C_CR2_START) | \</span></div>
<div class="line"><a id="l00807" name="l00807"></a><span class="lineno">  807</span><span class="preprocessor">                                                                 (I2C_CR2_AUTOEND)) &amp; (~I2C_CR2_RD_WRN)))</span></div>
<div class="line"><a id="l00808" name="l00808"></a><span class="lineno">  808</span> </div>
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno">  809</span><span class="preprocessor">#define I2C_CHECK_FLAG(__ISR__, __FLAG__)         ((((__ISR__) &amp; ((__FLAG__) &amp; I2C_FLAG_MASK)) == \</span></div>
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno">  810</span><span class="preprocessor">                                                    ((__FLAG__) &amp; I2C_FLAG_MASK)) ? SET : RESET)</span></div>
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno">  811</span><span class="preprocessor">#define I2C_CHECK_IT_SOURCE(__CR1__, __IT__)      ((((__CR1__) &amp; (__IT__)) == (__IT__)) ? SET : RESET)</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno">  815</span> </div>
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno">  816</span><span class="comment">/* Private Functions ---------------------------------------------------------*/</span></div>
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno">  820</span><span class="comment">/* Private functions are defined in stm32h7xx_hal_i2c.c file */</span></div>
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno">  824</span></div>
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno">  828</span></div>
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno">  832</span> </div>
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno">  833</span><span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno">  834</span>}</div>
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno">  835</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno">  836</span> </div>
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno">  837</span> </div>
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno">  838</span><span class="preprocessor">#endif </span><span class="comment">/* STM32H7xx_HAL_I2C_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="acore__armv81mml_8h_html_aec43007d9998a0a0e01faede4133d6be"><div class="ttname"><a href="core__armv81mml_8h.html#aec43007d9998a0a0e01faede4133d6be">__IO</a></div><div class="ttdeci">#define __IO</div><div class="ttdef"><b>Definition</b> core_armv81mml.h:277</div></div>
<div class="ttc" id="agroup___d_m_a___exported___types_html_ga41b754a906b86bce54dc79938970138b"><div class="ttname"><a href="group___d_m_a___exported___types.html#ga41b754a906b86bce54dc79938970138b">DMA_HandleTypeDef</a></div><div class="ttdeci">struct __DMA_HandleTypeDef DMA_HandleTypeDef</div><div class="ttdoc">DMA handle Structure definition.</div></div>
<div class="ttc" id="agroup___h_a_l__mode__structure__definition_html_gabcbb7b844f2ffd63c4e530c117882062"><div class="ttname"><a href="group___h_a_l__mode__structure__definition.html#gabcbb7b844f2ffd63c4e530c117882062">HAL_I2C_ModeTypeDef</a></div><div class="ttdeci">HAL_I2C_ModeTypeDef</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:147</div></div>
<div class="ttc" id="agroup___h_a_l__mode__structure__definition_html_ggabcbb7b844f2ffd63c4e530c117882062a1eea98660a170dd7b191c9dfe46da6d2"><div class="ttname"><a href="group___h_a_l__mode__structure__definition.html#ggabcbb7b844f2ffd63c4e530c117882062a1eea98660a170dd7b191c9dfe46da6d2">HAL_I2C_MODE_MASTER</a></div><div class="ttdeci">@ HAL_I2C_MODE_MASTER</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:149</div></div>
<div class="ttc" id="agroup___h_a_l__mode__structure__definition_html_ggabcbb7b844f2ffd63c4e530c117882062a3f592bd942f973242aac6b7df79f3f1e"><div class="ttname"><a href="group___h_a_l__mode__structure__definition.html#ggabcbb7b844f2ffd63c4e530c117882062a3f592bd942f973242aac6b7df79f3f1e">HAL_I2C_MODE_MEM</a></div><div class="ttdeci">@ HAL_I2C_MODE_MEM</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:151</div></div>
<div class="ttc" id="agroup___h_a_l__mode__structure__definition_html_ggabcbb7b844f2ffd63c4e530c117882062a817358d19d278261f2047a5ec8ec6b53"><div class="ttname"><a href="group___h_a_l__mode__structure__definition.html#ggabcbb7b844f2ffd63c4e530c117882062a817358d19d278261f2047a5ec8ec6b53">HAL_I2C_MODE_SLAVE</a></div><div class="ttdeci">@ HAL_I2C_MODE_SLAVE</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:150</div></div>
<div class="ttc" id="agroup___h_a_l__mode__structure__definition_html_ggabcbb7b844f2ffd63c4e530c117882062a98c8fd642b7ac45a23479bd597fc7a71"><div class="ttname"><a href="group___h_a_l__mode__structure__definition.html#ggabcbb7b844f2ffd63c4e530c117882062a98c8fd642b7ac45a23479bd597fc7a71">HAL_I2C_MODE_NONE</a></div><div class="ttdeci">@ HAL_I2C_MODE_NONE</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:148</div></div>
<div class="ttc" id="agroup___h_a_l__state__structure__definition_html_gaef355af8eab251ae2a19ee164ad81c37"><div class="ttname"><a href="group___h_a_l__state__structure__definition.html#gaef355af8eab251ae2a19ee164ad81c37">HAL_I2C_StateTypeDef</a></div><div class="ttdeci">HAL_I2C_StateTypeDef</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:109</div></div>
<div class="ttc" id="agroup___h_a_l__state__structure__definition_html_ggaef355af8eab251ae2a19ee164ad81c37a0c503d6c0388f0d872b368557e278b5a"><div class="ttname"><a href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a0c503d6c0388f0d872b368557e278b5a">HAL_I2C_STATE_BUSY</a></div><div class="ttdeci">@ HAL_I2C_STATE_BUSY</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:112</div></div>
<div class="ttc" id="agroup___h_a_l__state__structure__definition_html_ggaef355af8eab251ae2a19ee164ad81c37a13518f06f54c7515100e86bb8d6e0779"><div class="ttname"><a href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a13518f06f54c7515100e86bb8d6e0779">HAL_I2C_STATE_LISTEN</a></div><div class="ttdeci">@ HAL_I2C_STATE_LISTEN</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:115</div></div>
<div class="ttc" id="agroup___h_a_l__state__structure__definition_html_ggaef355af8eab251ae2a19ee164ad81c37a14d22553a60819b276582e08459f30b0"><div class="ttname"><a href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a14d22553a60819b276582e08459f30b0">HAL_I2C_STATE_BUSY_TX_LISTEN</a></div><div class="ttdeci">@ HAL_I2C_STATE_BUSY_TX_LISTEN</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:116</div></div>
<div class="ttc" id="agroup___h_a_l__state__structure__definition_html_ggaef355af8eab251ae2a19ee164ad81c37a2c6f6d1fef0847f9da51153b5c295249"><div class="ttname"><a href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a2c6f6d1fef0847f9da51153b5c295249">HAL_I2C_STATE_ABORT</a></div><div class="ttdeci">@ HAL_I2C_STATE_ABORT</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:120</div></div>
<div class="ttc" id="agroup___h_a_l__state__structure__definition_html_ggaef355af8eab251ae2a19ee164ad81c37a4ea4ecc2dc3cb64c4877c123d9d73170"><div class="ttname"><a href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a4ea4ecc2dc3cb64c4877c123d9d73170">HAL_I2C_STATE_BUSY_RX</a></div><div class="ttdeci">@ HAL_I2C_STATE_BUSY_RX</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:114</div></div>
<div class="ttc" id="agroup___h_a_l__state__structure__definition_html_ggaef355af8eab251ae2a19ee164ad81c37a8aec2547eedf1c9924f8efed33e3b5c5"><div class="ttname"><a href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a8aec2547eedf1c9924f8efed33e3b5c5">HAL_I2C_STATE_BUSY_RX_LISTEN</a></div><div class="ttdeci">@ HAL_I2C_STATE_BUSY_RX_LISTEN</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:118</div></div>
<div class="ttc" id="agroup___h_a_l__state__structure__definition_html_ggaef355af8eab251ae2a19ee164ad81c37a91ba08634e08d7287940f1bc5a37eeff"><div class="ttname"><a href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37a91ba08634e08d7287940f1bc5a37eeff">HAL_I2C_STATE_RESET</a></div><div class="ttdeci">@ HAL_I2C_STATE_RESET</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:110</div></div>
<div class="ttc" id="agroup___h_a_l__state__structure__definition_html_ggaef355af8eab251ae2a19ee164ad81c37acb3a9e3d4d1076e0f4e65f91ca0161bc"><div class="ttname"><a href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37acb3a9e3d4d1076e0f4e65f91ca0161bc">HAL_I2C_STATE_BUSY_TX</a></div><div class="ttdeci">@ HAL_I2C_STATE_BUSY_TX</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:113</div></div>
<div class="ttc" id="agroup___h_a_l__state__structure__definition_html_ggaef355af8eab251ae2a19ee164ad81c37af859ce60c5e462b0bfde3a5010bc72d1"><div class="ttname"><a href="group___h_a_l__state__structure__definition.html#ggaef355af8eab251ae2a19ee164ad81c37af859ce60c5e462b0bfde3a5010bc72d1">HAL_I2C_STATE_READY</a></div><div class="ttdeci">@ HAL_I2C_STATE_READY</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:111</div></div>
<div class="ttc" id="agroup___i2_c___i_r_q___handler__and___callbacks_html_ga5782358f977ddf450b203fc075833a1d"><div class="ttname"><a href="group___i2_c___i_r_q___handler__and___callbacks.html#ga5782358f977ddf450b203fc075833a1d">HAL_I2C_MasterRxCpltCallback</a></div><div class="ttdeci">void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)</div><div class="ttdoc">IIC接收完成回调函数</div><div class="ttdef"><b>Definition</b> bsp_iic.c:129</div></div>
<div class="ttc" id="agroup___i2_c___i_r_q___handler__and___callbacks_html_gac16a95413b35f05c5ce725fefd8531a5"><div class="ttname"><a href="group___i2_c___i_r_q___handler__and___callbacks.html#gac16a95413b35f05c5ce725fefd8531a5">HAL_I2C_MemRxCpltCallback</a></div><div class="ttdeci">void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c)</div><div class="ttdoc">内存访问回调函数,仅做形式上的封装,仍然使用HAL_I2C_MasterRxCpltCallback</div><div class="ttdef"><b>Definition</b> bsp_iic.c:148</div></div>
<div class="ttc" id="astm32h7xx__hal__def_8h_html"><div class="ttname"><a href="stm32h7xx__hal__def_8h.html">stm32h7xx_hal_def.h</a></div><div class="ttdoc">This file contains HAL common defines, enumeration, macros and structures definitions.</div></div>
<div class="ttc" id="astm32h7xx__hal__def_8h_html_a63c0679d1cb8b8c684fbb0632743478f"><div class="ttname"><a href="stm32h7xx__hal__def_8h.html#a63c0679d1cb8b8c684fbb0632743478f">HAL_StatusTypeDef</a></div><div class="ttdeci">HAL_StatusTypeDef</div><div class="ttdoc">HAL Status structures definition.</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_def.h:40</div></div>
<div class="ttc" id="astm32h7xx__hal__def_8h_html_ab367482e943333a1299294eadaad284b"><div class="ttname"><a href="stm32h7xx__hal__def_8h.html#ab367482e943333a1299294eadaad284b">HAL_LockTypeDef</a></div><div class="ttdeci">HAL_LockTypeDef</div><div class="ttdoc">HAL Lock structures definition.</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_def.h:51</div></div>
<div class="ttc" id="astm32h7xx__hal__i2c__ex_8h_html"><div class="ttname"><a href="stm32h7xx__hal__i2c__ex_8h.html">stm32h7xx_hal_i2c_ex.h</a></div><div class="ttdoc">Header file of I2C HAL Extended module.</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html">__I2C_HandleTypeDef</a></div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:185</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a028d3e824c01ccc6c9a23bb5802e3313"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a028d3e824c01ccc6c9a23bb5802e3313">__I2C_HandleTypeDef::PreviousState</a></div><div class="ttdeci">__IO uint32_t PreviousState</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:199</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a080380e6051dd88c3a88c24aad4b10c0"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a080380e6051dd88c3a88c24aad4b10c0">__I2C_HandleTypeDef::Instance</a></div><div class="ttdeci">I2C_TypeDef * Instance</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:186</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a1b8a62241b4c22d97af542186cef0c39"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a1b8a62241b4c22d97af542186cef0c39">__I2C_HandleTypeDef::XferSize</a></div><div class="ttdeci">uint16_t XferSize</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:192</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a27f4f768395d68659c29ba55727182a2"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a27f4f768395d68659c29ba55727182a2">__I2C_HandleTypeDef::XferISR</a></div><div class="ttdeci">HAL_StatusTypeDef(* XferISR)(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources)</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:201</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a314305a14bb912531cfc3c5f87291777"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a314305a14bb912531cfc3c5f87291777">__I2C_HandleTypeDef::XferCount</a></div><div class="ttdeci">__IO uint16_t XferCount</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:194</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a3421cd62d9e34c4a5ff1706916c8ae7a"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a3421cd62d9e34c4a5ff1706916c8ae7a">__I2C_HandleTypeDef::State</a></div><div class="ttdeci">__IO HAL_I2C_StateTypeDef State</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:211</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a4261371469c7df0bc57a71949a7e1f75"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a4261371469c7df0bc57a71949a7e1f75">__I2C_HandleTypeDef::Memaddress</a></div><div class="ttdeci">__IO uint32_t Memaddress</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:221</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a52dcaac577eef13388d209f3f5a6a4b9"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a52dcaac577eef13388d209f3f5a6a4b9">__I2C_HandleTypeDef::hdmarx</a></div><div class="ttdeci">DMA_HandleTypeDef * hdmarx</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:206</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a5d3ace2bbb83f44d4fe3df47fa42bb90"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a5d3ace2bbb83f44d4fe3df47fa42bb90">__I2C_HandleTypeDef::XferOptions</a></div><div class="ttdeci">__IO uint32_t XferOptions</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:196</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a7517a9738c41067d8facfb4dea6f4ff3"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a7517a9738c41067d8facfb4dea6f4ff3">__I2C_HandleTypeDef::Devaddress</a></div><div class="ttdeci">__IO uint32_t Devaddress</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:219</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a824099e364465827123cda831284f643"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a824099e364465827123cda831284f643">__I2C_HandleTypeDef::ErrorCode</a></div><div class="ttdeci">__IO uint32_t ErrorCode</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:215</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a8e665bc833889975a33b10bebeab5db2"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a8e665bc833889975a33b10bebeab5db2">__I2C_HandleTypeDef::Init</a></div><div class="ttdeci">I2C_InitTypeDef Init</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:188</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a96ba2c1a4eee1bbbe791b29e81c4c013"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a96ba2c1a4eee1bbbe791b29e81c4c013">__I2C_HandleTypeDef::Lock</a></div><div class="ttdeci">HAL_LockTypeDef Lock</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:209</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_a9e1687f431eaba605b2ae49c1e3ff641"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#a9e1687f431eaba605b2ae49c1e3ff641">__I2C_HandleTypeDef::Mode</a></div><div class="ttdeci">__IO HAL_I2C_ModeTypeDef Mode</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:213</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_ac46ddd083fcc3901fa63c96387243c25"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#ac46ddd083fcc3901fa63c96387243c25">__I2C_HandleTypeDef::AddrEventCount</a></div><div class="ttdeci">__IO uint32_t AddrEventCount</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:217</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_ad8f3153daebc780294797b448decb190"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#ad8f3153daebc780294797b448decb190">__I2C_HandleTypeDef::hdmatx</a></div><div class="ttdeci">DMA_HandleTypeDef * hdmatx</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:204</div></div>
<div class="ttc" id="astruct_____i2_c___handle_type_def_html_af699cc26b19f28b9215d3d4a167f068e"><div class="ttname"><a href="struct_____i2_c___handle_type_def.html#af699cc26b19f28b9215d3d4a167f068e">__I2C_HandleTypeDef::pBuffPtr</a></div><div class="ttdeci">uint8_t * pBuffPtr</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:190</div></div>
<div class="ttc" id="astruct_i2_c___init_type_def_html"><div class="ttname"><a href="struct_i2_c___init_type_def.html">I2C_InitTypeDef</a></div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:48</div></div>
<div class="ttc" id="astruct_i2_c___init_type_def_html_a17ce92b135a4b5c045a5387c91677803"><div class="ttname"><a href="struct_i2_c___init_type_def.html#a17ce92b135a4b5c045a5387c91677803">I2C_InitTypeDef::GeneralCallMode</a></div><div class="ttdeci">uint32_t GeneralCallMode</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:69</div></div>
<div class="ttc" id="astruct_i2_c___init_type_def_html_a28afdce458703464638f1a01e04da04e"><div class="ttname"><a href="struct_i2_c___init_type_def.html#a28afdce458703464638f1a01e04da04e">I2C_InitTypeDef::NoStretchMode</a></div><div class="ttdeci">uint32_t NoStretchMode</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:72</div></div>
<div class="ttc" id="astruct_i2_c___init_type_def_html_a2ac60d8926224856693f49c068533ae1"><div class="ttname"><a href="struct_i2_c___init_type_def.html#a2ac60d8926224856693f49c068533ae1">I2C_InitTypeDef::OwnAddress2Masks</a></div><div class="ttdeci">uint32_t OwnAddress2Masks</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:65</div></div>
<div class="ttc" id="astruct_i2_c___init_type_def_html_a5c39c41a5ee892c1bce69a579cc017ca"><div class="ttname"><a href="struct_i2_c___init_type_def.html#a5c39c41a5ee892c1bce69a579cc017ca">I2C_InitTypeDef::AddressingMode</a></div><div class="ttdeci">uint32_t AddressingMode</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:56</div></div>
<div class="ttc" id="astruct_i2_c___init_type_def_html_a8165caf61b7b52f903edd7517ddaa06b"><div class="ttname"><a href="struct_i2_c___init_type_def.html#a8165caf61b7b52f903edd7517ddaa06b">I2C_InitTypeDef::OwnAddress2</a></div><div class="ttdeci">uint32_t OwnAddress2</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:62</div></div>
<div class="ttc" id="astruct_i2_c___init_type_def_html_a85cf419fd97f82464a6e7396ac0ac1c4"><div class="ttname"><a href="struct_i2_c___init_type_def.html#a85cf419fd97f82464a6e7396ac0ac1c4">I2C_InitTypeDef::Timing</a></div><div class="ttdeci">uint32_t Timing</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:49</div></div>
<div class="ttc" id="astruct_i2_c___init_type_def_html_abfb610317ea08e85c8feece82ccc9e16"><div class="ttname"><a href="struct_i2_c___init_type_def.html#abfb610317ea08e85c8feece82ccc9e16">I2C_InitTypeDef::OwnAddress1</a></div><div class="ttdeci">uint32_t OwnAddress1</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:53</div></div>
<div class="ttc" id="astruct_i2_c___init_type_def_html_add6a6b87ee067d33c94c554288736d40"><div class="ttname"><a href="struct_i2_c___init_type_def.html#add6a6b87ee067d33c94c554288736d40">I2C_InitTypeDef::DualAddressMode</a></div><div class="ttdeci">uint32_t DualAddressMode</div><div class="ttdef"><b>Definition</b> stm32h7xx_hal_i2c.h:59</div></div>
<div class="ttc" id="astruct_i2_c___type_def_html"><div class="ttname"><a href="struct_i2_c___type_def.html">I2C_TypeDef</a></div><div class="ttdoc">Inter-integrated Circuit Interface.</div><div class="ttdef"><b>Definition</b> stm32h723xx.h:1133</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a href="dir_60925fc218da8ca7908795bf5f624060.html">Drivers</a></li><li class="navelem"><a href="dir_7baec2ddb99168f99d1052c1aec46b20.html">STM32H7xx_HAL_Driver</a></li><li class="navelem"><a href="dir_4f22a8fa6199c96df71a89cbd7613f35.html">Inc</a></li><li class="navelem"><a href="stm32h7xx__hal__i2c_8h.html">stm32h7xx_hal_i2c.h</a></li>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
  </ul>
</div>
</body>
</html>
